Skip to content
GitHub

Linux System

Unix name

 $ uname -a                                      # 打印操作系统的所有信息
 > Linux master 3.10.0-1160.81.1.el7.x86_64 #1 SMP Fri Dec 16 17:29:43 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
 $ date                                          # 现实系统时间
 > Fri 07 Apr 2023 02:16:35 AM EDT

 $ date +"%Y-%m-%d %H:%M:%S"                     # 格式化输出时间
 > 2023-04-07 02:16:52

 $ date -s "01:01:01 2022-08-09"                 # 设置时间

disk free

 $ df                                            # 显示系统磁盘占用信息, 默认以 KB 为单位
 $ df -h                                         # 容量数据以 MB 为单位

 $ df -h                                         # 容量信息智能添加单位
 > Filesystem      Size  Used Avail Use% Mounted on
 > udev            3.9G     0  3.9G   0% /dev
 > tmpfs           796M   41M  755M   6% /run
 > /dev/sda1        58G   17G   39G  30% /

disk usage: 查看文件或文件夹占用大小

 $ du <arg> <file>                               # 显示目录占用空间大小
 $ du -s <file>                                  # --summarize 只显示总计占用
 $ du -h <file>                                  # --human-readable 添加单位

 $ du *                                          # 列出所有文件及大小
 > 97764   go20.tar.gz
 > 4       host.txt
 > 24      mongo.tar.gz

 $ du -h                                         # 智能显示单位
 > 4.0K    ./test
 > 834M    .
 $ free                                          # 显示系统内存占用(KB)
 $ free -m                                       # 以 MB 为单位显示
 $ free -g                                       # 以 GB 为单位显示

 $ free -h                                       # 智能显示单位
                total        used        free      shared  buff/cache   available
 > Mem:          7.8Gi       1.2Gi       5.3Gi        41Mi       1.3Gi       6.3Gi
 > Swap:         974Mi          0B       974Mi

process status: 进程状态

 $ ps <opt>                                      # 显示系统进程状态
 $ ps aux                                        # 显示系统所有进程的详细信息
 > USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 > root         1  0.0  0.1 104188 10472 ?        Ss   Apr02   0:03 /sbin/init
 > root         2  0.0  0.0      0     0 ?        S    Apr02   0:00 [kthreadd]
 > root         3  0.0  0.0      0     0 ?        I<   Apr02   0:00 [rcu_gp]

systemctl control

 $ systemctl <opt> <service>                     # 设置某项服务
 $ systemctl start <service>                     # 启动nfs服务
 $ systemctl enable <service>                    # 设置开机自启动
 $ systemctl disable <service>                   # 停止开机自启动
 $ systemctl status <service>                    # 查看服务当前状态
 $ systemctl restart <service>                   # 重新启动某服务
 $ systemctl list-units --type=service           # 查看所有已启动的服务

 $ systemctl status docker
 > docker.service - Docker Application Container Engine
 >   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
 >   Active: active (running) since Sun 2023-04-02 20:24:38 EDT; 4 days ago
 >     Docs: https://docs.docker.com
 > Main PID: 704 (dockerd)
 > ......
 $ netstat <opt>                                 # 显示网络端口信息
 $ netstat -a                                    # 显示所有网络端口信息
 $ netstat -t                                    # 显示 TCP 网络端口信息
 $ netstat -u                                    # 显示 UDP 网络端口信息
 $ netstat -l                                    # --listening 显示处于监听状态的端口

 $ netstat -anlp | grep 22
 > tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      577/sshd
 > tcp        0      0 10.0.2.15:22            10.0.2.2:61110          ESTABLISHED 19205/sshd: root@no
 > tcp6       0      0 :::22                   :::*                    LISTEN      577/sshd

network interfaces configuring

 $ ifconfig                                      # 显示网络接口配置和参数
 > enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 >       inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
 >       inet6 fe80::a00:27ff:fe2e:3801  prefixlen 64  scopeid 0x20<link>
 >       ether 08:00:27:2e:38:01  txqueuelen 1000  (Ethernet)
 >       RX packets 1226712  bytes 239728472 (228.6 MiB)
 >       RX errors 0  dropped 0  overruns 0  frame 0
 >       TX packets 857854  bytes 146145492 (139.3 MiB)
 >       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 > ......
 $ kill <opt> <pid>                              # 杀死进程
 $ kill -9 <pid>                                 # 强制杀死 <pid> 进程

 $ killall <name>                                # 杀死所有名字为 <name> 进程
 $ pkill -o <name>                               # 杀死 <name> 进程中进程号最小的
 $ pkill -n <name>                               # 杀死 <name> 进程中进程号最大的

 $ sleep 300 &                                   # 后台执行 sleep 指令
 > [1] 23287                                     # 系统返回后台的进程 pid
 $ kill -9 23287                                 # 根据 pip 杀死指定进程
 > [1]  + 23287 killed     sleep 300

设置硬盘临时挂载

 # 查看所有块设备 (sdb 未挂载)
 $ lsblk
  NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
  loop0    7:0    0   62M  1 loop /snap/core20/1587
  loop1    7:1    0 79.9M  1 loop /snap/lxd/22923
  loop2    7:2    0   47M  1 loop /snap/snapd/16292
  sda    252:0    0   40G  0 disk
  └─sda1 252:1    0   40G  0 part /
  sdb    252:16   0  200G  0 disk

 $ df -h
  Filesystem      Size  Used Avail Use% Mounted on
  tmpfs           1.6G  1.1M  1.6G   1% /run
  /dev/sda1        40G  6.4G   31G  18% /
  tmpfs           7.7G     0  7.7G   0% /dev/shm
  tmpfs           5.0M     0  5.0M   0% /run/lock
  tmpfs           1.6G  4.0K  1.6G   1% /run/user/0

 # 挂载磁盘到 /root/disk 路径(路径必须存在, 重启则挂载失效)
 $ mount /dev/sdb /root/disk

设置硬盘永久挂载

 # 查看机器硬盘 (sdb 未挂载)
 $ lsblk

 $ df -h

 # 获取设备 UUID(返回为空, 则先格式化再获取 UUID)
 $ blkid /dev/sdb1
 /dev/sdb: UUID="3b6c12s6-67e5-5bcs-a15a-ecb6c7dc68ab" BLOCK_SIZE="4096" TYPE="ext4"

 # 格式化磁盘(能获取 UUID 则跳过格式化)
 $ mkfs.ext4 /dev/sdb
  
 # 将挂载信息写入 /etc/fstab, 每次重启都自动挂载
 # <file system> <mount point> <type>  <options> <dump>    <pass>
 # UUID作为设备id  挂载路径     文件类型  挂载选项  dump 备份  根文件系统 1
 $ vi /etc/fstab
 UUID=3b6c12s6-67e5-5bcs-a15a-ecb6c7dc68ab /root/disk ext4 defaults 0 1

 # 根据 /etc/fstab 配置自动挂载
 $ mount -a

 # 卸载已挂载的盘(无进程访问挂载路径)
 $ umount /root/disk